This invention relates to telecommunications, and in particular to a method and apparatus for dynamically selecting an optimal communications path from a plurality of available paths in accordance with an analysis of both static and dynamically changing variables and user priorities.
The communications industry has changed rapidly in recent times from the simple analog connection of telephones for voice communications to the present systems for transmitting and receiving data, facsimile, e-mail, video, audio, as well as voice in both analog and digital formats (referred to herein collectively as data). Data may be transmitted in any of various formats, such as a data file, data packets, encapsulated packets, or data streams (referred to herein as a data file). Various types of communications systems have been and continue to be installed, which function as the backbone systems for transmission of data over numerous media. For example, data may be transmitted from one user to another by POTS (plain old telephone system), leased lines, mobile cellular networks, digital links, fiber optics, satellite links, and private and public packet switching virtual networks such as the Internet.
In addition, there exists a great amount of pricing competition among service providers employing various types of these transmission media. For example, so-called long distance service providers such as ATandT and MCI offer rates in competition with each other in order to gain greater market shares of consumer, business, non-profit organizations, and governmental users. As a result of the numerous types of communications services available, as well as the competition between providers of these services, users are often faced with difficult choices regarding the selection of a service which will provide them with the best value.
Often, more than one communications service providers are available at a give n time to a user for selection as a carrier of the data to be transmitted. For example, a user may subscribe to two or more long distance service providers, and may access either one a given time by first dialing the service provider""s code, and then dialing the destination phone number. In addition, a user may have various types of media available for selection; i.e. the connection may be made via the Internet, satellite, etc. This is especially true in a business environment, where economic considerations allow numerous communications resources to be available for use.
The prior art generally recognizes low cost as being the factor upon which routing decisions are made for the transmission of data. As such, so-called xe2x80x9cleast cost routingxe2x80x9d facilities proliferate, allowing a call to be placed with a service provider that provides the least cost a given time. PBX (private branch exchange) systems may employ such a least cost routing facility that automatically connects the calling party to the destination number along the cheapest route available.
The present invention recognizes that the best value for a communications medium at a given time is not necessarily the lowest cost of the choices available. That is, the optimization of routing selection encompasses not only a low cost, but also takes into account other factors such as transmission bandwidth of the medium, its availability at the specific time the user needs to use it, its security, and its"" reliability. In addition, a user""s priorities may change from time to time, and the requirements regarding the transmission of one data file may be different than the requirements of another file. That is, a user may want to transmit one file in an emergency situation at the fastest speed, regardless of its cost. Other files may need high security from being illicitly intercepted, and yet other files may only need to be transmitted at the lowest cost at any time in the near future, with no speed concerns.
Thus, the present invention recognizes that the selection of the optimal route for data transmission at a given time is a dynamic analysis that must be done in real-time, and must take into account various factors regarding the available media as well as the priorities of the user and of the file to be transmitted.
U.S. Pat. No. 5,337,352 discloses a PBX system servicing a plurality of tenants, wherein each tenant may specify which of a plurality of routes should be selected as having the highest priority, then second highest priority, etc. The routing selections are predetermined by each tenant in accordance with their requirements and available resources, and the selections are stored in a table in the PBX. Once a tenant desires to place a call, the PBX looks in the table to determine the highest priority route for that particular tenant, and connects the call accordingly. If that route is not available, then the next priority route, according to the predetermined tenant table, is connected. Thus, a predetermined pecking order is established by each tenant and stored in the PBX. This system is static and not changeable on a real-time basis since each tenant must predetermine the priority of specific providers to utilize. Although the system of this patent checks the availability of the highest predetermined priority route and uses the next highest priority if it is unavailable, such analysis is only a discrete yes/no inquiry and does not take into account the current amount of traffic over the route to analyze the route""s availability on a relative basis.
It is therefore an object of the present invention to overcome the shortcomings of the prior art systems as described above.
It is an object of the present invention to provide a system and method for selecting an optimal communications path for connecting a call to a remote location for the transfer of a data file thereover by analyzing on a real-time basis a set of multiple protocols.
It is a further object of the present invention to provide such a system and method for multi-protocol route optimization which analyzes the priorities of a user regarding the transmission of a particular data file in determining the optimal route for the call.
It is an even further object of the present invention to provide such a system and method for multi-protocol route optimization which analyzes various factors regarding the route on a real-time basis in determining the optimal route for the call.
It is an even further object of the present invention to provide such a system and method for multi-protocol route optimization which allows a user to override preset default values and specify critical transfer parameters"" on a file-by-file basis.
In accordance with these and other objects, provided is a communications switching system comprising a first memory for holding a data file to be transferred to a remote destination and a plurality of interfaces coupled with the first memory, wherein each of the interfaces is interconnected with an associated communications path capable of transferring the data file to the remote destination. The switching system comprises a second memory for storing predetermined parameters associated with each of the communications paths and means for measuring the value of variable parameters associated with each of the communications paths. A third memory stores a set of user priorities regarding the transmission of data files. Processor means is operatively associated with the second and third memories and the variable parameter measuring means for determining which of the plurality of communications paths should be utilized for transferring the data file in accordance with the set of user priorities, the predetermined communications path parameters, and the measured variable parameters. The switching system further comprises input means for allowing a user to change the user priorities in the third memory prior to transmitting a file.
For example, the variable parameter measuring means performs a measurement of the data transfer speed of each of the communications paths, for example by a so-called ping test. The predetermined parameters stored in the second memory comprises the cost per unit time of utilizing each of the communications paths, which may be a function of the current time of day and/or current day of week. The predetermined parameters stored in the second memory also comprises a measure of data transfer reliability of each of the paths as well as a measure of data transfer bandwidth of each of the paths. The switching system may also comprise means for ascertaining if an interface is available for data file transfer at a particular time.
In a method aspect utilizing the switching system of the present invention, provided is a method of determining which of a plurality of communications paths should be utilized for transferring a data file in accordance with a set of user priorities, the method comprising the steps of measuring variable parameters for each of the paths, analyzing the measured variable parameters and the predetermined parameters in relation to the user priorities; and determining which of the paths provides the characteristics desired by the user for transferring the file in accordance with the user""s priorities.